home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / dev_libs / feelin040718 / sources / shade / object.c < prev    next >
C/C++ Source or Header  |  2004-08-03  |  1KB  |  46 lines

  1. #include "Private.h"
  2.  
  3. /*** Methods ***************************************************************/
  4.  
  5. ///Shade_New
  6. F_METHOD(ULONG,Shade_New)
  7. {
  8.    struct LocalObjectData *LOD = F_LOD(Class,Obj);
  9.  
  10.    LOD -> AreaData = (FAreaData *) F_Get(Obj,FA_AreaData);
  11.  
  12.    LOD -> Flags = FF_SHADE_BUFFER | FF_SHADE_ZOOM_IS_ICONIFY;
  13.  
  14.    return F_SuperDo(Class,Obj,Method,
  15.  
  16.       FA_ChainToCycle, FALSE,
  17.       
  18.       FA_Font,          "FP_Decorator_Font",
  19.       FA_ColorScheme,   "FP_Decorator_AScheme",
  20.  
  21.    TAG_MORE, Msg);
  22. }
  23. //+
  24. ///Shade_Get
  25. F_METHOD(void,Shade_Get)
  26. {
  27.    struct LocalObjectData *LOD = F_LOD(Class,Obj);
  28.    struct TagItem         *Tags = Msg,
  29.                            item,*tag;
  30.  
  31.    while  (tag = F_DynamicNTI(&Tags,&item,Class))
  32.    switch (item.ti_Tag)
  33.    {
  34.       case FA_ColorScheme:
  35.       {
  36. //         F_DebugOut(0,"%s{%08lx}.Get() - FA_Scheme 0x%08lx (0x%08lx)\n",_classname(Obj),Obj,LOD -> AScheme,_pens(Obj));
  37.  
  38.          F_STORE(LOD -> AScheme);
  39.          tag -> ti_Tag = TAG_IGNORE;
  40.       }
  41.       break;
  42.    }
  43.    F_SUPERDO();
  44. }
  45. //+
  46.